package main

import "fmt"

func main() {
	/*
		一个变量(常量、类型或函数)在程序中都有一定的作用范围，称之为作用域。
		了解变量的作用域对我们学习Go语言来说是比较重要的，因为Go语言会在编译时检查每个变量是否被使用过。
		一旦出现未使用的变量，就会报编译错误。
		如果不能理解变量的作用域，就有可能会带来一些不明所以的编译错误。
		局部变量：
		在函数体内声明的变量称之为局部变量，他们的作用域只在函数体内，函数的参数和返回值变量都属于局部变量。

	*/
	//声明局部变量a和b并赋值
	var a int = 3
	var b int = 4
	//声明局部变量c并计算a和b的和
	c := a + b
	fmt.Println("a = %d,b = %d,c = %d\n", a, b, c)
	/*
			  全局变量：
			在函数体外声明的变量称之为全局变量，全局变量只需要在一个原文件中定义，就可以在所有原文件中使用。
			不包含这个全局变量的源文件需要使用"import"关键字引入全局变量所在的源文件之后才能使用这个全局变量。
			全局变量声明必须以var关键字开头，如果想要在外部包中使用全局变量的首字母必须大写。
		GO语言程序中全局变量与局部变量名称可以相同，但是函数体内的局部变量会被优先考虑(就近原则)
	*/
}
